#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Result/Optimization/OptimizationBase.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct RTYPE2ResponseData : public OptimizationBase {
  SG::DataStructure::Common::Id m_IR2ID =
      0;  ///< Internal response identification number
  SG::DataStructure::Common::Id m_R2ID =
      0;                  ///< External response identification number
  char m_LABEL[8] = {0};  ///< Label
  SG::DataStructure::Common::Id m_EQID = 0;  ///< Equation identification number
  SG::DataStructure::Common::I64 m_REGION =
      0;  ///< Region identification number
  SG::DataStructure::Common::I64 m_METHOD =
      0;  ///< Method flag for BETS/MATCH response
  SG::DataStructure::Common::Real m_RESPONSE = 0.0;  ///< Response value
  SG::DataStructure::Common::Id m_domainId = 0;      ///< Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator==(const RTYPE2ResponseData& val1,
                         const RTYPE2ResponseData& val2);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
